Individuals may interact with various computing resources, such as desktop applications or web applications available from service providers, to create and publish web development projects (e.g., mark-up language documents, web pages, web applications, web sites, etc.). Traditionally, text-based editors operated by sophisticated users having detailed knowledge of HTML and other programming languages were employed for web page development. Since text-based editing may be complicated and tedious, visual-based editors were developed in which users may create pages by laying-out elements in a “what you see is what you get (WYSIWYG) interface. The visual-based editors are designed to modify underlying documents for the web development project in response to manipulation of elements in the WYSIWYG view, and accordingly users are able to create projects visually without having detailed programming knowledge.
One challenge associated with visual-based editors is synchronization of references for elements between the visual editor and underlying code for the project. For example, elements of a page in a visual view may be organized differently in the visual view than in the underlying code structure for the page (e.g., the document object model (DOM) or other page representation). As such, it may be difficult to match elements created or modified in the visual view to elements constructed in the underlying code structure. An element-by-element tree comparison may be made following edits, but this approach may require significant processing time that interrupts the editing process. Additionally, if editing continues without proper synchronization of references, unintended edits may occur and changes may be lost. Thus, traditional web development tools may not fully satisfy users' needs and expectations in some editing scenarios.